package com.lz.netty.producer;

import com.alibaba.druid.spring.boot3.autoconfigure.DruidDataSourceAutoConfigure;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.boot.CommandLineRunner;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
import org.springframework.context.ConfigurableApplicationContext;

/**
 * 启动程序
 * 设置mapper的扫描路径
 * 扫描其它module的类装配到spring容器中
 *
 * @author admin
 * @author admin
 * @author xpp
 */

@SpringBootApplication(exclude = {DruidDataSourceAutoConfigure.class, DataSourceAutoConfiguration.class})
public class NettyProducerApplication implements CommandLineRunner {

    private static final Logger logger = LoggerFactory.getLogger(NettyProducerApplication.class);

    public static void main(String[] args) {
        //System.setProperty("websocket.devtools.restart.enabled", "false");
        System.setProperty("reactor.server.ioWorkerCount", "200");
        ConfigurableApplicationContext context = SpringApplication.run(NettyProducerApplication.class, args);
        String version = context.getEnvironment().getProperty("xpp.version");
        String port = context.getEnvironment().getProperty("server.port");
        logger.info("\n ################################################" +
                "\n #####################XPP:: Netty测试平台服务端 #####################" +
                "\n #####################XPP:: 版本：{} 端口：{}#####################" +
                "\n #####################XPP:: 启动成功 ##############################" +
                "\n #####################XPP:: SUCCESS #######################################" +
                "\n ##############################################################################\n", version, port);
    }

    /**
     * 启动 netty服务端
     */
    @Override
    public void run(String... args) throws Exception {

    }
}
